package com.xuecheng.media.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.api.media.model.dto.MediaDTO;
import com.xuecheng.api.media.model.qo.QueryMediaModel;
import com.xuecheng.common.domain.page.PageRequestParams;
import com.xuecheng.common.domain.page.PageVO;
import com.xuecheng.common.domain.response.RestResponse;
import com.xuecheng.media.entity.Media;

public interface MediaService extends IService<Media> {


    /**
     * 保存媒资文件信息
     * @param dto
     * @return
     */
    MediaDTO createMedia(MediaDTO dto);

    /**
     * 媒资信息预览
     * @param mediaId
     * @return
     */
    String previewMedia(Long mediaId,Long companyId);


    /**
     * 媒资信息条件分页查询
     * @param params
     * @param model
     * @param companyId
     * @return
     */
    PageVO<MediaDTO> queryCourseList(PageRequestParams params, QueryMediaModel model,Long companyId);


    /**
     * 根据id查询媒资信息-微服务远程调用
     * @param mediaId
     * @return
     */
    RestResponse<MediaDTO> getMediaById4s(Long mediaId);

    PageVO queryMediaList(PageRequestParams params, QueryMediaModel model, Long companyId);

    void approve(MediaDTO dto);

    String getPlayUrlByMediaId(Long mediaId, Long companyId);
}
